}
void
-xml_init(const char *fname, xg_tag_mapping *tbl, const char *encoding)
+xml_init0(const char *fname, xg_tag_mapping *tbl, const char *encoding,
+ off_t offset )
{
if (fname) {
ifd = gbfopen(fname, "r", MYNAME);
+ if (offset) {
+ gbfseek(ifd, offset, SEEK_SET);
+ }
} else {
ifd = NULL;
}
XML_SetCharacterDataHandler(psr, xml_cdata);
}
+/* xml_init0 iwth a default seek argument of zero */
+void
+xml_init(const char *fname, xg_tag_mapping *tbl, const char *encoding) {
+ xml_init0(fname, tbl, encoding, 0);
+}
+
+void
+xml_init_offset(const char *fname, xg_tag_mapping *tbl, const char *encoding,
+ off_t off) {
+ xml_init0(fname, tbl, encoding, off);
+}
+
void
xml_deinit(void)
{
void xml_ignore_tags(const char **taglist);
void xml_init(const char *fname, xg_tag_mapping *tbl,const char *encoding);
+void xml_init_offset(const char *fname, xg_tag_mapping *tbl,
+ const char *encoding, off_t offset);
void xml_read(void);
void xml_readstring(char *str);
void xml_readprefixstring(char *str);